Virtual machine (VM) environments may provide network connectivity to VMs using a virtual Ethernet bridge (VEB), which can be implemented in software or in hardware. VEBs are located at the computer system hosting the VMs. VEBs provide basic capabilities to forward network packets between VMs located on the same host (i.e., co-located VMs) as well as between local VMs and external network devices. However, typical VEBs are more limited and lack some of the features of traditional Ethernet switches such as support for packet filtering and Access Control Lists (ACLs).
To overcome these limitations the industry has proposed solutions where packets are always sent to an external switch, even if the destination VM machine is on the same host server as the source VM. Virtual Ethernet Port Aggregator (VEPA) is an industry standard in development that has been proposed to IEEE. VEPA is currently being considered by the IEEE 802.1Qbg working group. VEPA proposes use of an external switch to forward traffic between co-located VMs. In particular, VEPA sends all traffic from a host server, including the traffic between co-located VMs on the host server, on an external network link to an external switch. Thus, traffic between co-located VMs is sent to the external switch and then back again to the server on the same link.
The VEPA approach allows the management of VM network traffic in the same way as traffic between traditional servers, and allows the use of sophisticated packet filtering and ACL processing capabilities available on standard Ethernet switches. However, packets between co-located VMs wastes link bandwidth between the server and the external switch in both directions.